import fs from 'fs/promises';

/* 

import fs from 'fs';


 // readFile() - Callback 版本
fs.readFile('./test.txt', 'utf8', (err, data) => {
    if (err) throw err;
    console.log("Callback 版本:");
    console.log(data);
    console.log("====================================");
 });
 // readFile() - 同步版本
 const data = fs.readFileSync('./test.txt', 'utf8');
 console.log("同步版本:");
 console.log(data);
 */

 // readFile() - Promise 版本
 fs.readFile('./test.txt', 'utf-8')
.then(data => {
    console.log("Promise 版本:");
    console.log(data);
    console.log("====================================");
  }).catch(err => {
        console.error(err);
  });
  
  // readFile() - Async/Await 版本
 const readFile = async () => {
     try {
            const data = await fs.readFile('./test.txt', 'utf-8');
            console.log("Async/Await版本:");
            console.log(data);
            console.log("====================================");
         } catch (err) {
             console.error(err);
        }
  }
 // 写⼊⽂件
  const writeFile = async () => {
    try {
         await fs.writeFile('./test.txt', '写⼊⽂件内容','utf-8');
         console.log("写⼊成功");
        } catch (err) {
             console.error(err);
    }
  };
  
  // 追加⽂件
  const appendFile = async () => {
    try {
            await fs.appendFile('./test.txt', '\\n这是追加⽂件内容', 'utf8');
              console.log("追加成功");
      } catch (err) {
          console.error(err);
      }
 };


  writeFile();
 appendFile();
  readFile();